package com.leon.datalink.web.model;

import java.util.Map;

/**
 * 持久化配置信息
 * 
 * @author Leon
 * @version 1.0
 */
public class PersistenceConfig {
    
    /**
     * 全局持久化开关
     */
    private boolean globalEnabled;
    
    /**
     * 持久化策略 (all, none, selective)
     */
    private String strategy;
    
    /**
     * 存储路径
     */
    private String storagePath;
    
    /**
     * 快照间隔（事件数量）
     */
    private int snapshotInterval;
    
    /**
     * 事件保留数量
     */
    private int eventRetentionCount;
    
    /**
     * 消息黑名单
     */
    private String messageBlacklist;
    
    /**
     * Actor类型持久化配置
     */
    private Map<String, Boolean> actorTypeConfigs;
    
    /**
     * Actor实例持久化配置
     */
    private Map<String, Boolean> instanceConfigs;

    public boolean isGlobalEnabled() {
        return globalEnabled;
    }

    public void setGlobalEnabled(boolean globalEnabled) {
        this.globalEnabled = globalEnabled;
    }

    public String getStrategy() {
        return strategy;
    }

    public void setStrategy(String strategy) {
        this.strategy = strategy;
    }

    public String getStoragePath() {
        return storagePath;
    }

    public void setStoragePath(String storagePath) {
        this.storagePath = storagePath;
    }

    public int getSnapshotInterval() {
        return snapshotInterval;
    }

    public void setSnapshotInterval(int snapshotInterval) {
        this.snapshotInterval = snapshotInterval;
    }

    public int getEventRetentionCount() {
        return eventRetentionCount;
    }

    public void setEventRetentionCount(int eventRetentionCount) {
        this.eventRetentionCount = eventRetentionCount;
    }

    public String getMessageBlacklist() {
        return messageBlacklist;
    }

    public void setMessageBlacklist(String messageBlacklist) {
        this.messageBlacklist = messageBlacklist;
    }

    public Map<String, Boolean> getActorTypeConfigs() {
        return actorTypeConfigs;
    }

    public void setActorTypeConfigs(Map<String, Boolean> actorTypeConfigs) {
        this.actorTypeConfigs = actorTypeConfigs;
    }

    public Map<String, Boolean> getInstanceConfigs() {
        return instanceConfigs;
    }

    public void setInstanceConfigs(Map<String, Boolean> instanceConfigs) {
        this.instanceConfigs = instanceConfigs;
    }
}
